package com.star.uc.contract.dto.request;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

/**
 * email发送请求
 *
 * @author zhouhengzhe
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
@EqualsAndHashCode(callSuper = true)
@Schema(description = "email发送请求")
public class EmailSendRequest extends BaseRequest {

    @Schema(description = "邮件")
    @NotBlank(message = "邮件不能为空")
    @Email(message = "邮件格式不正确")
    private String email;

    /**
     * 发生业务类型
     *
     * @see com.star.uc.contract.enums.SendBizTypeEnum
     */
    @Schema(description = "发送业务类型")
    @NotBlank(message = "发生业务类型不能为空")
    private String sendType;

    /**
     * 语言类型
     *
     * @see com.star.uc.contract.enums.AreaCodeEnum
     */
    @NotBlank(message = "语言类型不能为空")
    @Schema(description = "语言类型,GB：英文，zh-CN：简体中文，zh-TW：繁体中文，th-TH：泰语，vi-VN：越南语，id-ID：印尼语")
    private String languageCode;
}
